﻿# -*- coding: utf-8 -*-
#!/usr/bin/python

#------------------------------------------------------------------------

## @package       horloge
## \brief       gestion du type abstrait "horloge"
## \author      Khopa
## \note        édité par  Pierrick Troadec et Kawtar Hssain
## \date        28/12/2011
## \version     1.2
## \copyright   license BSD

#------------------------------------------------------------------------

#    Importations
#  -----------------

import time
import math
from constante import *

#   Fonctions
#  -----------------


## Constructeur du type abstrait "horloge"
##@return horloge : horloge initialisée
def creerHorloge():
      
      horloge = {}
      horloge["temps_actuel"] = time.time()
      horloge["temps_debut_partie"] = time.time()
      horloge["affichage"] = " "
      horloge["fin"] = False
      
      return horloge

##Actualisation d'une horloge
##@param horloge : horloge à actualiser     
def actualiser(horloge):

        if not horloge["fin"]:

            horloge["temps_actuel"] = time.time()
            
            ecoule = int(math.fabs(horloge["temps_debut_partie"] - horloge["temps_actuel"]))
            seconde = str(60 - ecoule%60)

            
            if TEMPS_PARTIE - 1 - ecoule/60 >= 0:
                    if seconde == "60":
                        minute = str(TEMPS_PARTIE - ecoule/60)
                    else:
                        minute = str(TEMPS_PARTIE- 1 - ecoule/60)
            else:
                    minute = "00"
                      
            seconde = str(60 - ecoule%60)
                
            if len(minute) <= 1: 
                    minute = "0" + minute
            if len(seconde) <= 1: 
                    seconde = "0" + seconde
            if seconde == "60":
                    seconde = "00"
            if seconde == "00" and minute == "00":
                    horloge["fin"] = True

                
            horloge["affichage"] = "Temps restant : " + str(minute) + ":" + str(seconde)
